查看原文
其他

案例 | 从一次严重的系统停机事件说起....

2017-07-19 许峰 DevOps时代

许峰

20年软件开发、测试、管理经验。前文思海辉欧美事业群交付副总裁,热爱DevOps。专注帮助传统企业进行DevOps转型,致力于DevOps思想及实践的传播分享。中国首批EXIN DevOps Master讲师,沙盘模拟《凤凰项目》《挑战埃及》培训师。

本文根据John Rzeszotarski和Chris McFee在DOES16(DevOps企业峰会16)的演讲《Banking on DevOps》整理而成。

背景:KeyBank是北美15家最大的银行之一,有超过190年的历史,主要服务于企业客户。总资产大约为940亿美元。Keybank银行及其子公司,提供了一系列的零售和商业银行服务,包括商业银行贷款,投资管理,金融,投资理财产品,以及个人服务等。 经过多年的发展和并购,该金融机构的IT系统变得异常复杂。

灾难:2年前KeyBank经历了一次严重的系统停机事件,在修复该事件的过程中,由于对系统复杂度理解不足,导致更大的服务终止问题。该事件引起KeyBank高层高度重视。这也说明没有痛点企业很难下决心解决问题。

首先,KeyBank成立了一个4个人的资深技术小组(START),负责了解KeyBank采用的系统复杂度到底是怎么样的。

该小组历经三个多月的时间,把银行每个主要交易事务所涉及到的硬件(服务器,网络)和软件服务都绘制到一个图示中。结果发现历经多年发展,KeyBank维护的IT系统的复杂度着实惊人:仅仅一个用户登录(Login)行为,就要经历190个网络跃点(见下图)!

一个登录动作会历经190个网络跃点

其它发现的问题主要包括:

·  缺少统一配置(服务器,网络等)
·  缺少自动化
·  团队之间职责不清、缺少沟通
·  不同环境迁入导致的高额技术债

这些问题使大家意识到要想类似(或更严重)的服务停止事件不再发生,需要从根本上解决这些问题,从此KeyBank开始了DevOps转型之旅

当然,首先这个小组要说服高层接受DevOps理念,他们用数据来说服老板们:

给公司高层的DevOps价值分析

基本上就是跟老板说,通过实践DevOps,可以:

·  优化50%的测试资源(想说可以减掉50%的人工吧??)
·  优化40%的发布和代码管理工作
·  优化20%的基础设施工程师
·  降低85%的产品上线周期(测设、安全、发布)!
·  降低30%的新产品Defects!
·  再降低50%的部署失败率!

(这几个哥们够拼的,把自己都逼上绝路了)

KeyBank的高层看了还是很心动的,但是搞DevOps要花钱,再增加IT预算也不现实(刚刚出了事故),最后他们达成一致:

·  老板自掏腰包搞了个天使投资(估计是从现有IT预算里挤出来的)
·  先成立一个4个人的DevOps小组(后面会说这个小组做什么),后期发展到10~12个人的规模
·  先找一个业务价值大的项目开始(网上银行)实践

这个4人DevOps小组的重点攻关方向只有三个:容器自动化测试持续交付

关于这三个重点方向的确定,是KeyBank对该企业硬件和配置环境复杂度,测试质量和低测试效率(顺便说下,他们之前建了很多外包测试中心),还有自动化程度不足的深思熟虑的结果。当然对很多类似的企业也有很多参考价值。

KeyBank的三个DevOps重点方向

容器使得KeyBank可以采用Immutable Server(不可变基础设施)的策略,大大简化了环境管理的复杂度。另外在Docker之上,他们也采用Kubernetes来保证高可用性,热部署,和环境的自我修复。两位倾情推荐!

通过Kubernetes把Docker连接和管理起来

两位继续谈到了自动化测试的重要性,也提到了转换到自动化测试需要比较长的培训和试错时间,但一切都是值得的。现在他们每个Build要运行超过5,000个测试,而执行时间只有15分钟!这在手工测试时代是不可想象的。

接下来是持续交付。持续交付使得整个交付周期形成一个无缝的流,也让每个不同的部门/角色都能协同在一起工作。业务现在分析人员也开始写Gherkin(Cucumber提供面向非程序员的编程语言)代码,而运维人员则写基础设施即代码的脚本。

经过一年半的努力(并不算长),KeyBank达成了以前不敢想象的IT能力:

比如测试执行时间,以前的测试84个场景要执行1200小时,而新的自动化测试覆盖195个场景,只需要12分钟。

最令他们骄傲的是,2016年KeyBank收购了First Niagara,一下子网上交易量暴增。而即使在并购后最初上线运行的前4天的高峰期,他们还热部署了10个发布到生产环境,结果没发现一个产品缺陷!更多效果见下图。

只用了一年半时间,KeyBank的IT就达到了非常惊人的结果

以上就是KeyBank的DevOps转型简介。有兴趣的读者可以访问https://www.youtube.com/watch?v=xgSkva_Eq5s观看完整视频。

最后一张图送给工具控们:

KeyBank 的DevOps工具链

本文转自 DevOps咖啡馆

近期好文

实战:阿里巴巴 DevOps 转型后的运维平台建设

转型:强生如何实现从飞机到飞鸟的蜕变

DevOps 转型,只有工具是远远不够的!

金融行业DevOps转型案例:Capital One两年实现蝶变


不过瘾?

许峰老师将在 【DevOpsDays · 上海站】分享👇

《传统企业 DevOps 转型的若干案例》

点击“阅读原文”,关注 DevOpsDays上海站

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存